29 research outputs found
Dynamic Algorithms for Maximum Matching Size
We study fully dynamic algorithms for maximum matching. This is a
well-studied problem, known to admit several update-time/approximation
trade-offs. For instance, it is known how to maintain a 1/2-approximate
matching in (polylog n) time or a -approximate matching in
time, where is the number of vertices. Improving either of these bounds has
been a long-standing open problem.
In this paper, we show that when the goal is to maintain just the size of the
matching instead of its edge-set, then these bounds can indeed be improved. We
give algorithms that maintain
* a .501-approximation in (polylog n) update-time for general graphs,
* a .534-approximation in (polylog n) update-time for bipartite graphs, and
* a -approximation in update-time
for bipartite graphs
Beating Two-Thirds For Random-Order Streaming Matching
We study the maximum matching problem in the random-order semi-streaming setting. In this problem, the edges of an arbitrary n-vertex graph G = (V, E) arrive in a stream one by one and in a random order. The goal is to have a single pass over the stream, use O(n ? polylog) space, and output a large matching of G.
We prove that for an absolute constant ?? > 0, one can find a (2/3 + ??)-approximate maximum matching of G using O(n log n) space with high probability. This breaks the natural boundary of 2/3 for this problem prevalent in the prior work and resolves an open problem of Bernstein [ICALP\u2720] on whether a (2/3 + ?(1))-approximation is achievable
Robust Communication Complexity of Matching: EDCS Achieves 5/6 Approximation
We study the robust communication complexity of maximum matching. Edges of an
arbitrary -vertex graph are randomly partitioned between Alice and Bob
independently and uniformly. Alice has to send a single message to Bob such
that Bob can find an (approximate) maximum matching of the whole graph . We
specifically study the best approximation ratio achievable via protocols where
Alice communicates only bits to Bob.
There has been a growing interest on the robust communication model due to
its connections to the random-order streaming model. An algorithm of Assadi and
Behnezhad [ICALP'21] implies a -approximation for a
small constant , which remains the best-known
approximation for general graphs. For bipartite graphs, Assadi and Behnezhad
[Random'21] improved the approximation to .716 albeit with a computationally
inefficient (i.e., exponential time) protocol.
In this paper, we study a natural and efficient protocol implied by a
random-order streaming algorithm of Bernstein [ICALP'20] which is based on
edge-degree constrained subgraphs (EDCS) [Bernstein and Stein; ICALP'15]. The
result of Bernstein immediately implies that this protocol achieves an (almost)
-approximation in the robust communication model. We present a
new analysis, proving that it achieves a much better (almost) -approximation. This significantly improves previous approximations both
for general and bipartite graphs. We also prove that our analysis of
Bernstein's protocol is tight
Modern Large-Scale Algorithms for Classical Graph Problems
Although computing power has advanced at an astonishing rate, it has been far outpaced by the growing scale of data. This has led to an abundance of algorithmic problems where the input tends to be, by orders of magnitude, larger than the memory available on a single machine. The challenges of data processing at this scale are inherently different from those of traditional algorithms. For instance, without having the whole input properly stored in the memory of a single machine, it is unrealistic to assume that any arbitrary location of the input can be accessed at the same cost; an assumption that is essential for traditional algorithms. In this thesis, we focus on modern computational models that capture these challenges more accurately, and devise new algorithms for several classical graph problems.
Specifically, we study models of computation that only allow the algorithm to use sublinear resources (such as time, space, or communication). Examples include (i) massively parallel computation (Ã la MapReduce) algorithms where the workload is distributed among several machines each with sublinear space/communication, (ii) sublinear-time algorithms that take time sublinear in the input size, (iii) streaming algorithms that take only few passes over the input having access to a sublinear space, and (iv) dynamic algorithms that maintain a property of a dynamically changing input using a sublinear time per update.
We propose new algorithms for classical graph problems such as maximum/maximal matching, maximal independent set, minimum vertex cover, and graph connectivity in these models that substantially improve upon the state-of-the-art and are in many cases optimal. Many of our algorithms build on model-independent tools and ideas that are of independent interest and lead to improved bounds in more than one of the aforementioned settings
Streaming and Massively Parallel Algorithms for Edge Coloring
A valid edge-coloring of a graph is an assignment of "colors" to its edges such that no two incident edges receive the same color. The goal is to find a proper coloring that uses few colors. (Note that the maximum degree, Delta, is a trivial lower bound.) In this paper, we revisit this fundamental problem in two models of computation specific to massive graphs, the Massively Parallel Computations (MPC) model and the Graph Streaming model:
- Massively Parallel Computation: We give a randomized MPC algorithm that with high probability returns a Delta+O~(Delta^(3/4)) edge coloring in O(1) rounds using O(n) space per machine and O(m) total space. The space per machine can also be further improved to n^(1-Omega(1)) if Delta = n^Omega(1). Our algorithm improves upon a previous result of Harvey et al. [SPAA 2018].
- Graph Streaming: Since the output of edge-coloring is as large as its input, we consider a standard variant of the streaming model where the output is also reported in a streaming fashion. The main challenge is that the algorithm cannot "remember" all the reported edge colors, yet has to output a proper edge coloring using few colors.
We give a one-pass O~(n)-space streaming algorithm that always returns a valid coloring and uses 5.44 Delta colors with high probability if the edges arrive in a random order. For adversarial order streams, we give another one-pass O~(n)-space algorithm that requires O(Delta^2) colors